Autogenerated HTML docs for v2.30.1-427-gf9f25
diff --git a/MyFirstContribution.html b/MyFirstContribution.html index ee18e9d..4d3d0c4 100644 --- a/MyFirstContribution.html +++ b/MyFirstContribution.html
@@ -1379,7 +1379,7 @@ <div class="content"> <pre><code>test_expect_success 'runs correctly with no args and good output' ' git psuh >actual && - test_i18ngrep Pony actual + grep Pony actual '</code></pre> </div></div> <div class="paragraph"><p>Indicate that you’ve run everything you wanted by adding the following at the @@ -1912,7 +1912,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-11-30 20:44:23 PST + 2021-02-10 15:27:55 PST </div> </div> </body>
diff --git a/MyFirstContribution.txt b/MyFirstContribution.txt index 7c9a037..af0a9da 100644 --- a/MyFirstContribution.txt +++ b/MyFirstContribution.txt
@@ -664,7 +664,7 @@ ---- test_expect_success 'runs correctly with no args and good output' ' git psuh >actual && - test_i18ngrep Pony actual + grep Pony actual ' ----
diff --git a/RelNotes/2.31.0.txt b/RelNotes/2.31.0.txt index 905c9aa..39efc41 100644 --- a/RelNotes/2.31.0.txt +++ b/RelNotes/2.31.0.txt
@@ -14,6 +14,8 @@ * The development community has adopted Contributor Covenant v2.0 to update from v1.4 that we have been using. + * The support for deprecated PCRE1 library has been dropped. + UI, Workflows & Features @@ -54,6 +56,10 @@ unmerged, which is a source for confusion unless -s/-u option is in use. A new option --deduplicate has been introduced. + * `git worktree list` now annotates worktrees as prunable, shows + locked and prunable attributes in --porcelain mode, and gained + a --verbose option. + Performance, Internal Implementation, Development Support etc. @@ -104,13 +110,11 @@ hierarchy, which was quite wasteful. * A perf script was made more portable. - (merge f08b6c553d jk/p5303-sed-portability-fix later to maint). * Our setting of GitHub CI test jobs were a bit too eager to give up once there is even one failure found. Tweak the knob to allow other jobs keep running even when we see a failure, so that we can find more failures in a single run. - (merge 2b0e14f640 pb/ci-matrix-wo-shortcut later to maint). * We've carried compatibility codepaths for compilers without variadic macros for quite some time, but the world may be ready for @@ -119,45 +123,49 @@ such a way that we can easily revert if it turns out that the world is not yet ready. + * Code clean-up to ensure our use of hashtables using object names as + keys use the "struct object_id" objects, not the raw hash values. + + * Lose the debugging aid that may have been useful in the past, but + no longer is, in the "grep" codepaths. + + * Some pretty-format specifiers do not need the data in commit object + (e.g. "%H"), but we were over-eager to load and parse it, which has + been made even lazier. + + * Get rid of "GETTEXT_POISON" support altogether, which may or may + not be controversial. + Fixes since v2.30 ----------------- * Diagnose command line error of "git rebase" early. - (merge ca5120c339 rs/rebase-commit-validation later to maint). * Clean up option descriptions in "git cmd --help". - (merge e73fe3dd02 zh/arg-help-format later to maint). * "git stash" did not work well in a sparsely checked out working tree. - (merge ba359fd507 en/stash-apply-sparse-checkout later to maint). * Some tests expect that "ls -l" output has either '-' or 'x' for group executable bit, but setgid bit can be inherited from parent directory and make these fields 'S' or 's' instead, causing test failures. - (merge ea8bbf2a4e mt/t4129-with-setgid-dir later to maint). * "git for-each-repo --config=<var> <cmd>" should not run <cmd> for any repository when the configuration variable <var> is not defined even once. - (merge 6c62f01552 ds/for-each-repo-noopfix later to maint). * Fix 2.29 regression where "git mergetool --tool-help" fails to list all the available tools. - (merge 80f5a16798 pb/mergetool-tool-help-fix later to maint). * Fix for procedure to building CI test environment for mac. - (merge 3831132ace jc/macos-install-dependencies-fix later to maint). * The implementation of "git branch --sort" wrt the detached HEAD display has always been hacky, which has been cleaned up. - (merge 4045f659bd ab/branch-sort later to maint). * Newline characters in the host and path part of git:// URL are now forbidden. - (merge 6aed56736b jk/forbid-lf-in-git-url later to maint). * "git diff" showed a submodule working tree with untracked cruft as "Submodule commit <objectname>-dirty", but a natural expectation is @@ -169,33 +177,16 @@ side, "git log --cherry-pick A...B" did not exclude them all when a commit with the same patch ID appears on the other side. Now it does. - (merge c9e3a4e76d jk/log-cherry-pick-duplicate-patches later to maint). * Documentation for "git fsck" lost stale bits that has become incorrect. - (merge 28cc00a13d ab/fsck-doc-fix later to maint). * Doc fix for packfile URI feature. - (merge bfc2a36ff2 jt/packfile-as-uri-doc later to maint). + + * When "git rebase -i" processes "fixup" insn, there is no reason to + clean up the commit log message, but we did the usual stripspace + processing. This has been corrected. + (merge f7d42ceec5 js/rebase-i-commit-cleanup-fix later to maint). * Other code cleanup, docfix, build fix, etc. - (merge 505a276596 pk/subsub-fetch-fix-take-2 later to maint). - (merge 33fc56253b fc/t6030-bisect-reset-removes-auxiliary-files later to maint). - (merge 7efc378205 ta/doc-typofix later to maint). - (merge 1f4e9319c7 pb/doc-modules-git-work-tree-typofix later to maint). - (merge 04f6b0a192 ma/t1300-cleanup later to maint). - (merge 7b77f5a13e ma/doc-pack-format-varint-for-sizes later to maint). - (merge cc2d43be2b nk/perf-fsmonitor-cleanup later to maint). - (merge c8302c6c00 ar/t6016-modernise later to maint). - (merge 0454986e78 jc/sign-off later to maint). - (merge 155067ab4f vv/send-email-with-less-secure-apps-access later to maint). - (merge acaabcf391 jk/t5516-deflake later to maint). - (merge a1e03535db ad/t4129-setfacl-target-fix later to maint). - (merge b356d23638 ug/doc-lose-dircache later to maint). - (merge 9371c0e9dd ab/gettext-charset-comment-fix later to maint). - (merge 52fc4f195c dl/p4-encode-after-kw-expansion later to maint). - (merge 4eb56b56e7 bc/doc-status-short later to maint). - (merge a4a1ca22ef tb/local-clone-race-doc later to maint). - (merge 6a8c89d053 ma/more-opaque-lock-file later to maint). - (merge 4a5ec7d166 js/skip-dashed-built-ins-from-config-mak later to maint). - (merge 6eaf624dea pb/blame-funcname-range-userdiff later to maint). + (merge e3f5da7e60 sg/t7800-difftool-robustify later to maint).
diff --git a/git-worktree.html b/git-worktree.html index 91a80c0..bdd1df1 100644 --- a/git-worktree.html +++ b/git-worktree.html
@@ -843,8 +843,9 @@ List details of each working tree. The main working tree is listed first, followed by each of the linked working trees. The output details include whether the working tree is bare, the revision currently checked out, the -branch currently checked out (or "detached HEAD" if none), and "locked" if -the worktree is locked. +branch currently checked out (or "detached HEAD" if none), "locked" if +the worktree is locked, "prunable" if the worktree can be pruned by <code>prune</code> +command. </p> </dd> <dt class="hdlist1"> @@ -1067,6 +1068,7 @@ <p> With <code>prune</code>, report all removals. </p> +<div class="paragraph"><p>With <code>list</code>, output additional information about worktrees (see below).</p></div> </dd> <dt class="hdlist1"> --expire <time> @@ -1075,6 +1077,8 @@ <p> With <code>prune</code>, only expire unused working trees older than <code><time></code>. </p> +<div class="paragraph"><p>With <code>list</code>, annotate missing working trees as prunable if they are +older than <code><time></code>.</p></div> </dd> <dt class="hdlist1"> --reason <string> @@ -1226,13 +1230,52 @@ /path/to/linked-worktree abcd1234 [master] /path/to/other-linked-worktree 1234abc (detached HEAD)</code></pre> </div></div> +<div class="paragraph"><p>The command also shows annotations for each working tree, according to its state. +These annotations are:</p></div> +<div class="ulist"><ul> +<li> +<p> +<code>locked</code>, if the working tree is locked. +</p> +</li> +<li> +<p> +<code>prunable</code>, if the working tree can be pruned via <code>git worktree prune</code>. +</p> +</li> +</ul></div> +<div class="listingblock"> +<div class="content"> +<pre><code>$ git worktree list +/path/to/linked-worktree abcd1234 [master] +/path/to/locked-worktreee acbd5678 (brancha) locked +/path/to/prunable-worktree 5678abc (detached HEAD) prunable</code></pre> +</div></div> +<div class="paragraph"><p>For these annotations, a reason might also be available and this can be +seen using the verbose mode. The annotation is then moved to the next line +indented followed by the additional information.</p></div> +<div class="listingblock"> +<div class="content"> +<pre><code>$ git worktree list --verbose +/path/to/linked-worktree abcd1234 [master] +/path/to/locked-worktree-no-reason abcd5678 (detached HEAD) locked +/path/to/locked-worktree-with-reason 1234abcd (brancha) + locked: working tree path is mounted on a portable device +/path/to/prunable-worktree 5678abc1 (detached HEAD) + prunable: gitdir file points to non-existent location</code></pre> +</div></div> +<div class="paragraph"><p>Note that the annotation is moved to the next line if the additional +information is available, otherwise it stays on the same line as the +working tree itself.</p></div> <div class="sect2"> <h3 id="_porcelain_format">Porcelain Format</h3> <div class="paragraph"><p>The porcelain format has a line per attribute. Attributes are listed with a label and value separated by a single space. Boolean attributes (like <code>bare</code> and <code>detached</code>) are listed as a label only, and are present only -if the value is true. The first attribute of a working tree is always -<code>worktree</code>, an empty line indicates the end of the record. For example:</p></div> +if the value is true. Some attributes (like <code>locked</code>) can be listed as a label +only or with a value depending upon whether a reason is available. The first +attribute of a working tree is always <code>worktree</code>, an empty line indicates the +end of the record. For example:</p></div> <div class="listingblock"> <div class="content"> <pre><code>$ git worktree list --porcelain @@ -1245,7 +1288,33 @@ worktree /path/to/other-linked-worktree HEAD 1234abc1234abc1234abc1234abc1234abc1234a -detached</code></pre> +detached + +worktree /path/to/linked-worktree-locked-no-reason +HEAD 5678abc5678abc5678abc5678abc5678abc5678c +branch refs/heads/locked-no-reason +locked + +worktree /path/to/linked-worktree-locked-with-reason +HEAD 3456def3456def3456def3456def3456def3456b +branch refs/heads/locked-with-reason +locked reason why is locked + +worktree /path/to/linked-worktree-prunable +HEAD 1233def1234def1234def1234def1234def1234b +detached +prunable gitdir file points to non-existent location</code></pre> +</div></div> +<div class="paragraph"><p>If the lock reason contains "unusual" characters such as newline, they +are escaped and the entire reason is quoted as explained for the +configuration variable <code>core.quotePath</code> (see <a href="git-config.html">git-config(1)</a>). +For Example:</p></div> +<div class="listingblock"> +<div class="content"> +<pre><code>$ git worktree list --porcelain +... +locked "reason\nwhy is locked" +...</code></pre> </div></div> </div> </div> @@ -1291,7 +1360,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-01-07 00:38:25 PST + 2021-02-10 15:27:55 PST </div> </div> </body>
diff --git a/git-worktree.txt b/git-worktree.txt index 02a706c..f1bb1fa 100644 --- a/git-worktree.txt +++ b/git-worktree.txt
@@ -97,8 +97,9 @@ List details of each working tree. The main working tree is listed first, followed by each of the linked working trees. The output details include whether the working tree is bare, the revision currently checked out, the -branch currently checked out (or "detached HEAD" if none), and "locked" if -the worktree is locked. +branch currently checked out (or "detached HEAD" if none), "locked" if +the worktree is locked, "prunable" if the worktree can be pruned by `prune` +command. lock:: @@ -231,9 +232,14 @@ -v:: --verbose:: With `prune`, report all removals. ++ +With `list`, output additional information about worktrees (see below). --expire <time>:: With `prune`, only expire unused working trees older than `<time>`. ++ +With `list`, annotate missing working trees as prunable if they are +older than `<time>`. --reason <string>:: With `lock`, an explanation why the working tree is locked. @@ -372,13 +378,46 @@ /path/to/other-linked-worktree 1234abc (detached HEAD) ------------ +The command also shows annotations for each working tree, according to its state. +These annotations are: + + * `locked`, if the working tree is locked. + * `prunable`, if the working tree can be pruned via `git worktree prune`. + +------------ +$ git worktree list +/path/to/linked-worktree abcd1234 [master] +/path/to/locked-worktreee acbd5678 (brancha) locked +/path/to/prunable-worktree 5678abc (detached HEAD) prunable +------------ + +For these annotations, a reason might also be available and this can be +seen using the verbose mode. The annotation is then moved to the next line +indented followed by the additional information. + +------------ +$ git worktree list --verbose +/path/to/linked-worktree abcd1234 [master] +/path/to/locked-worktree-no-reason abcd5678 (detached HEAD) locked +/path/to/locked-worktree-with-reason 1234abcd (brancha) + locked: working tree path is mounted on a portable device +/path/to/prunable-worktree 5678abc1 (detached HEAD) + prunable: gitdir file points to non-existent location +------------ + +Note that the annotation is moved to the next line if the additional +information is available, otherwise it stays on the same line as the +working tree itself. + Porcelain Format ~~~~~~~~~~~~~~~~ The porcelain format has a line per attribute. Attributes are listed with a label and value separated by a single space. Boolean attributes (like `bare` and `detached`) are listed as a label only, and are present only -if the value is true. The first attribute of a working tree is always -`worktree`, an empty line indicates the end of the record. For example: +if the value is true. Some attributes (like `locked`) can be listed as a label +only or with a value depending upon whether a reason is available. The first +attribute of a working tree is always `worktree`, an empty line indicates the +end of the record. For example: ------------ $ git worktree list --porcelain @@ -393,6 +432,33 @@ HEAD 1234abc1234abc1234abc1234abc1234abc1234a detached +worktree /path/to/linked-worktree-locked-no-reason +HEAD 5678abc5678abc5678abc5678abc5678abc5678c +branch refs/heads/locked-no-reason +locked + +worktree /path/to/linked-worktree-locked-with-reason +HEAD 3456def3456def3456def3456def3456def3456b +branch refs/heads/locked-with-reason +locked reason why is locked + +worktree /path/to/linked-worktree-prunable +HEAD 1233def1234def1234def1234def1234def1234b +detached +prunable gitdir file points to non-existent location + +------------ + +If the lock reason contains "unusual" characters such as newline, they +are escaped and the entire reason is quoted as explained for the +configuration variable `core.quotePath` (see linkgit:git-config[1]). +For Example: + +------------ +$ git worktree list --porcelain +... +locked "reason\nwhy is locked" +... ------------ EXAMPLES
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index fdd4ad8..8e3c25b 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html
@@ -938,7 +938,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:02 PST + 2021-02-10 15:28:49 PST </div> </div> </body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index 76ca2d3..d6bc3e9 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html
@@ -1469,7 +1469,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:03 PST + 2021-02-10 15:28:49 PST </div> </div> </body>
diff --git a/howto/new-command.html b/howto/new-command.html index e45459a..af90a79 100644 --- a/howto/new-command.html +++ b/howto/new-command.html
@@ -863,7 +863,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:29:59 PST + 2021-02-10 15:28:45 PST </div> </div> </body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index c87de68..361b963 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html
@@ -895,7 +895,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:02 PST + 2021-02-10 15:28:49 PST </div> </div> </body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index e604a97..1f3de89 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html
@@ -847,7 +847,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:02 PST + 2021-02-10 15:28:49 PST </div> </div> </body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index 9c95fbd..06c9de9 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html
@@ -880,7 +880,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:02 PST + 2021-02-10 15:28:48 PST </div> </div> </body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index c110225..82d8d8d 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html
@@ -1189,7 +1189,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:02 PST + 2021-02-10 15:28:49 PST </div> </div> </body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 46bde31..e76fa4e 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html
@@ -1025,7 +1025,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:01 PST + 2021-02-10 15:28:48 PST </div> </div> </body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 33c49aa..13701a8 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html
@@ -907,7 +907,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:29:59 PST + 2021-02-10 15:28:46 PST </div> </div> </body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 2cc2ac1..3573d56 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html
@@ -841,7 +841,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:01 PST + 2021-02-10 15:28:48 PST </div> </div> </body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 7d7d405..52a8e5d 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html
@@ -1071,7 +1071,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:01 PST + 2021-02-10 15:28:47 PST </div> </div> </body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 4f59e83..d7c28d6 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html
@@ -930,7 +930,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:00 PST + 2021-02-10 15:28:47 PST </div> </div> </body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 5c6912b..67d6ffc 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html
@@ -791,7 +791,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:00 PST + 2021-02-10 15:28:47 PST </div> </div> </body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index f590cfb..4819a42 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html
@@ -848,7 +848,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:00 PST + 2021-02-10 15:28:46 PST </div> </div> </body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index 855c3e5..d46b484 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html
@@ -952,7 +952,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-08 15:30:00 PST + 2021-02-10 15:28:46 PST </div> </div> </body>